prepping RPI for embedded dev

2021-02-14 ยท 2 min read

    host: SSH into new rpi #

    $ ssh rpi00.local
    

    rpi: update and install basic tools #

    $ sudo apt update && sudo apt upgrade
    $ sudo apt install vim
    

    rpi: configure systemd journal to only log to RAM #

    This step helps avoid lots of IO writes to the SD Card, which will significantly extend its lifetime.

    $ sudo cat > /etc/systemd/journald.conf.d/ram-only-journal.conf <<EOF
    [Journal]
    Storage=volatile
    RuntimeMaxUse=100M
    ForwardToSyslog=no
    EOF
    

    rpi: (optional) set rpi hostname #

    It takes too long to build a new image with a different hostname, so we'll set the hostname after the fact. Make sure the hostname is not the default raspberrypi.

    $ sudo hostnamectl set-hostname kyoto
    

    rpi: (optional) add other ssh pubkeys #

    Forgot to add this when formatting the SD card...

    $ echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB3x6Xx0674lyf2DGstduaGjyA1ARqdeGc6PgHZMbwCK philiphayes@philiphayes-mbp" >> ~/.ssh/authorized_keys
    

    rpi: (optional) enable kernel I2C bus #

    $ sudo raspi-config
    

    Select Interface Options > Enable I2C

    rpi: (optional) enable kernel SPI Bus #

    $ sudo raspi-config
    

    Select Interface Options > Enable SPI

    rpi: (optional) enable kernel PWM controller #

    In /boot/config, add the line: dtoverlay=pwm.

    rpi: reboot #

    $ sudo reboot
    

    host: install cross-compiling toolchain #

    $ sudo apt install gcc-arm-linux-gnueabihf